home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / DeviceControl.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  1.7 KB  |  93 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        DeviceControl.h
  3.  
  4.      Contains:    Component API for doing AVC transactions.
  5.  
  6.      Version:    Technology:    xxx put version here xxx
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __DEVICECONTROL__
  18. #define __DEVICECONTROL__
  19.  
  20. #ifndef __MACTYPES__
  21.     #include <MacTypes.h>
  22. #endif
  23.  
  24. #ifndef __COMPONENTS__
  25.     #include <Components.h>
  26. #endif
  27.  
  28.  
  29.  
  30.  
  31.  
  32. #if PRAGMA_ONCE
  33. #pragma once
  34. #endif
  35.  
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39.  
  40. #if PRAGMA_IMPORT
  41. #pragma import on
  42. #endif
  43.  
  44. #if PRAGMA_STRUCT_ALIGN
  45.     #pragma options align=mac68k
  46. #elif PRAGMA_STRUCT_PACKPUSH
  47.     #pragma pack(push, 2)
  48. #elif PRAGMA_STRUCT_PACK
  49.     #pragma pack(2)
  50. #endif
  51.  
  52. typedef CALLBACK_API_C( UInt32 , DCResponseHandler )(UInt32 fwCommandObjectID, Ptr responseBuffer, UInt32 responseLength);
  53.  
  54. struct DVCTransactionParams {
  55.     Ptr                             commandBufferPtr;
  56.     UInt32                             commandLength;
  57.     Ptr                             responseBufferPtr;
  58.     UInt32                             responseBufferSize;
  59.     DCResponseHandler *                responseHandler;
  60. };
  61. typedef struct DVCTransactionParams        DVCTransactionParams;
  62. EXTERN_API( ComponentResult )
  63. DeviceControlDoAVCTransaction    (ComponentInstance         instance,
  64.                                  DVCTransactionParams *    params)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  65.  
  66.  
  67.  
  68. /* selectors for component calls */
  69. enum {
  70.     kDeviceControlDoAVCTransactionSelect            = 0x0001
  71. };
  72.  
  73. #if PRAGMA_STRUCT_ALIGN
  74.     #pragma options align=reset
  75. #elif PRAGMA_STRUCT_PACKPUSH
  76.     #pragma pack(pop)
  77. #elif PRAGMA_STRUCT_PACK
  78.     #pragma pack()
  79. #endif
  80.  
  81. #ifdef PRAGMA_IMPORT_OFF
  82. #pragma import off
  83. #elif PRAGMA_IMPORT
  84. #pragma import reset
  85. #endif
  86.  
  87. #ifdef __cplusplus
  88. }
  89. #endif
  90.  
  91. #endif /* __DEVICECONTROL__ */
  92.  
  93.